home *** CD-ROM | disk | FTP | other *** search
-
-
-
- UUUUsssseeeerrrr::::::::ggggrrrreeeennnntttt((((3333)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) UUUUsssseeeerrrr::::::::ggggrrrreeeennnntttt((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- User::grent - by-name interface to Perl's built-in getgr*()
- functions
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- use User::grent;
- $gr = getgrgid(0) or die "No group zero";
- if ( $gr->name eq 'wheel' && @{$gr->members} > 1 ) {
- print "gid zero name wheel, with other members";
- }
-
- use User::grent qw(:FIELDS;
- getgrgid(0) or die "No group zero";
- if ( $gr_name eq 'wheel' && @gr_members > 1 ) {
- print "gid zero name wheel, with other members";
- }
-
- $gr = getgr($whoever);
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- This module's default exports override the core _g_e_t_g_r_e_n_t(),
- _g_e_t_g_r_u_i_d(), and _g_e_t_g_r_n_a_m() functions, replacing them with
- versions that return "User::grent" objects. This object has
- methods that return the similarly named structure field name
- from the C's passwd structure from _g_r_p._h; namely name,
- passwd, gid, and members (not mem). The first three return
- scalars, the last an array reference.
-
- You may also import all the structure fields directly into
- your namespace as regular variables using the :FIELDS import
- tag. (Note that this still overrides your core functions.)
- Access these fields as variables named with a preceding gr_.
- Thus, $group_obj->gid() corresponds to $gr_gid if you import
- the fields. Array references are available as regular array
- variables, so @{ $group_obj->members() } would be simply
- @gr_members.
-
- The _g_e_t_p_w() funtion is a simple front-end that forwards a
- numeric argument to _g_e_t_p_w_u_i_d() and the rest to _g_e_t_p_w_n_a_m().
-
- To access this functionality without the core overrides,
- pass the use an empty import list, and then access function
- functions with their full qualified names. On the other
- hand, the built-ins are still available via the CORE::
- pseudo-package.
-
- NNNNOOOOTTTTEEEE
- While this class is currently implemented using the
- Class::Struct module to build a struct-like class, you
- shouldn't rely upon this.
-
-
-
-
- Page 1 (printed 10/23/98)
-
-
-
-
-
-
- UUUUsssseeeerrrr::::::::ggggrrrreeeennnntttt((((3333)))) 22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222)))) UUUUsssseeeerrrr::::::::ggggrrrreeeennnntttt((((3333))))
-
-
-
- AAAAUUUUTTTTHHHHOOOORRRR
- Tom Christiansen
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 2 (printed 10/23/98)
-
-
-
-